package com.gec.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

import org.junit.Test;

public class connection {

	// 数据库的地址
	static final String URL = "jdbc:mysql://localhost:3306/shopdb?characterEncoding=utf-8";

	// 数据库连接驱动
	static final String DRIVE_RNAME = "com.mysql.jdbc.Driver";

	// 数据库账号
	static final String USERNAME = "root";

	// 数据库密码
	static final String PASSWOED = "1234";

	public static void main(String[] args) throws Exception {
		// 编写java连接访问数据的代码
		// 加载数据库连接驱动 使用java反射技术加载数据库驱动
		Class.forName(DRIVE_RNAME);
		// 传入账号、密码、数据库地址连接数据库
		// 加载完驱动后得到数据库连接管理对象 建立数据库连接 得到数据库连接对象
		Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWOED);
		// 得到 用来搬运传输数据库语句的工具
		Statement statement = connection.createStatement();
		// 传入需要执行的sql语句 得到处理结果resultSet 结果集 存放了所有的查询结果的对象
		ResultSet resultSet = statement.executeQuery("select name,email from user");
		// 得到数据库的处理结果resultSet
		// 使用结果集里面的游标 来遍历结果集中的数据 展示处理结果
		System.out.println("姓名\t\t\t邮箱");
		while (resultSet.next()) {// next方法 是用来移动结果集里面的游标的 判断里面有没有数据（游标会一行一行的去判断数据）
			// 根据列名 获取对应列的数据
			System.out.print(resultSet.getString("name") + "\t\t\t");
			System.out.print(resultSet.getString("email"));
			System.out.println();
		}
		// 关闭数据库连接
		resultSet.close();
		statement.close();
		connection.close();
	}

	@Test
	public void test() throws Exception {
		// 编写java连接访问数据的代码
		// 加载数据库连接驱动 使用java反射技术加载数据库驱动
		Class.forName(DRIVE_RNAME);
		// 传入账号、密码、数据库地址连接数据库
		// 加载完驱动后得到数据库连接管理对象 建立数据库连接 得到数据库连接对象
		Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWOED);
		// 得到 用来搬运传输数据库语句的工具
		Statement statement = connection.createStatement();
		// 传入需要执行的sql语句 得到处理结果resultSet 结果集 存放了所有的查询结果的对象
//		int i = statement.executeUpdate("insert into category VALUES(6,'水果蔬菜')");
		int i = statement.executeUpdate("update category set cname='农产品2' where cid=6");
		System.out.println(i);
		// 关闭数据库连接
		statement.close();
		connection.close();

	}

}